/**
 * 
 */
package kr.co.insoft.core.service.configration.vender;

import java.util.List;

import kr.co.insoft.core.model.configration.vender.VenderEntityModel;
import kr.co.insoft.core.model.configration.vender.VenderTypeEntityModel;
import kr.co.insoft.core.model.paging.PagingModel;
import kr.co.insoft.framework.exceptions.ServiceException;

import org.springframework.transaction.annotation.Transactional;

/**
 * @author skpark
 * 
 */
public interface VenderService {

	/**
	 * Vender 목록
	 * 
	 * @return
	 * @throws ServiceException
	 */
	public PagingModel getLists(PagingModel pagingModel)
			throws ServiceException;

	/**
	 * Vender 목록 / combo
	 * 
	 * @return
	 * @throws ServiceException
	 */
	public List<VenderEntityModel> getComboList() throws ServiceException;

	/**
	 * Vender Type 목록
	 * 
	 * @return
	 * @throws ServiceException
	 */
	public List<VenderTypeEntityModel> getVenderTypeList()
			throws ServiceException;

	/**
	 * Vender 상세
	 * 
	 * @param venderid
	 * @return
	 * @throws ServiceException
	 */
	public VenderEntityModel getArticle(String venderid)
			throws ServiceException;

	/**
	 * Vender 등록
	 * 
	 * @return
	 * @throws ServiceException
	 */
	@Transactional(rollbackFor = ServiceException.class)
	public void createVender(VenderEntityModel venderEntityModel)
			throws ServiceException;

	/**
	 * Vender 수정
	 * 
	 * @return
	 * @throws ServiceException
	 */
	@Transactional(rollbackFor = ServiceException.class)
	public void editVender(VenderEntityModel venderEntityModel)
			throws ServiceException;

	/**
	 * Vender 삭제
	 * 
	 * @return
	 * @throws ServiceException
	 */
	@Transactional(rollbackFor = ServiceException.class)
	public void removeVender(VenderEntityModel venderEntityModel)
			throws ServiceException;

	/**
	 * Vender Type 등록
	 * 
	 * @throws ServiceException
	 */
	@Transactional(rollbackFor = ServiceException.class)
	public void syncVenderType() throws ServiceException;

	/**
	 * Vender Name 중복 체크
	 * 
	 * @throws ServiceException
	 */
	public int isExistsVenderName(String venderName) throws ServiceException;
}
